/*
 * EquationOfState.h
 *
 *  Created on: 24 May 2011
 *      Author: allan
 */

#ifndef EQUATIONOFSTATE_H_
#define EQUATIONOFSTATE_H_

// C++ includes
#include <functional>
#include <vector>
using namespace std;
//
//class EquationOfState
//{
//public:
//	typedef std::function<const double(double T, double P, const vector<double>& X)> Function;
//	
//public:
//	EquationOfState();
//	
//	EquationOfState(double molarVolume);
//	
//	EquationOfState(Function molarVolume);
//	
//	EquationOfState(Function molarVolume, Function molarVolumePartialPressure);
//	
//	void SetMolarVolume(double molarVolume);
//	
//	void SetMolarVolume(Function molarVolume);
//	
//	void SetMolarVolumePartialPressure(Function molarVolumePartialPressure);
//	
//	const Function GetMolarVolume() const;
//	
//	const Function GetMolarVolumePartialPressure() const;
//	
//	const double MolarVolume(const PhaseState& phaseState) const;
//	
//	const double MolarDensity(const PhaseState& phaseState) const;
//	
//	const double MolarVolumePartialPressure(const PhaseState& phaseState) const;
//	
//private:
//	Function molarVolume;
//	
//	Function molarVolumePartialPressure;
//};

#endif /* EQUATIONOFSTATE_H_ */
